/*
 * Copyright 2006-2023 ahtelit.com, All Rights Reserved.
 */

package com.telit.firecommand.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;


/**
 * 气象设备
 *
 * @author yuezhuang
 * @since 2023-03-31
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "SysEquipStation", description = "气象设备")
public class SysEquipStation implements Serializable {

    private static final long serialVersionUID = -1L;

    @ApiModelProperty(value = "ID", required = true)
    private Long id;

    @ApiModelProperty("监测站类型（1:气象站，2:水文站）")
    private Integer type;

    @ApiModelProperty("编号")
    private String code;

    @ApiModelProperty("名称")
    private String name;

    @ApiModelProperty("行政区划编码")
    private String districtCode;

    @ApiModelProperty("行政区划名称")
    private String districtName;

    @ApiModelProperty("详细地址")
    private String address;

    @ApiModelProperty("经纬度")
    private String location;

    @ApiModelProperty("图片地址")
    private String images;

    @ApiModelProperty("视频地址")
    private String videos;

    @ApiModelProperty("安装日期")
    private String installDate;

    @ApiModelProperty("备注")
    private String remark;

    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @ApiModelProperty("关联项目id")
    private Long projectId;

    @ApiModelProperty("保护分区")
    private Integer protectArea;

    @ApiModelProperty("建筑年份")
    private Integer buildYear;

    @ApiModelProperty("可视参数(km)")
    private String viewParam;

    @ApiModelProperty("用电状态")
    private Integer powerStatus;

    @ApiModelProperty("传输方式")
    private Integer transferStyle;

    @ApiModelProperty("状态：1-在线 0-离线")
    @TableField(exist = false)
    private Integer onlineStatus;

    @TableField(exist = false)
    private boolean status;

}
